package com.study.app.domain.bo;

import com.study.common.core.domain.BaseEntity;
import com.study.common.core.validate.AddGroup;
import com.study.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * App用户协议隐私条款维护业务对象 app_user_agreement
 *
 * @author study
 * @date 2023-09-25
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class AppUserAgreementBo extends BaseEntity {

    /**
     * ID
     */
    @NotNull(message = "ID不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 协议版本号
     */
    @NotBlank(message = "协议版本号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String versionOn;

    /**
     * 协议名称
     */
    @NotBlank(message = "协议名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String versionName;

    /**
     * 协议备注详情
     */
    @NotBlank(message = "协议备注详情不能为空", groups = { AddGroup.class, EditGroup.class })
    private String versionInfo;

    /**
     * 协议内容
     */
    @NotBlank
    private String versionContent;

    /**
     * 协议状态：0未上架、1上架、2下架
     */
    @NotNull(message = "协议状态：0未上架、1上架、2下架不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer versionStatus;

    /**
     * 协议类型：1隐私条款，2用户条例
     */
    @NotNull(message = "协议类型：1隐私条款，2用户条例不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer versionType;


}
